/**
 *
 */
package com.zhuoyue.elmt.service;

import java.util.HashMap;
import java.util.List;

import com.zhuoyue.elmt.entity.Ecemp;
import com.zhuoyue.elmt.entity.MaintenanceStaff;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.eit.eitsite.common.persistence.Page;
import com.eit.eitsite.common.service.CrudService;
import com.zhuoyue.elmt.entity.DeviceParameters;
import com.zhuoyue.elmt.dao.DeviceParametersDao;

/**
 * 电梯参数查询Service
 *
 * @author chenhao
 * @version 2016-09-07
 */
@Service
@Transactional(readOnly = true)
public class DeviceParametersService extends CrudService<DeviceParametersDao, DeviceParameters> {

    public DeviceParameters get(String id) {
        return super.get(id);
    }

    public Page<DeviceParameters> xtpqsbpage(Page<DeviceParameters> page, DeviceParameters deviceParameters) {
        deviceParameters.setPage(page);
        page.setList(dao.xtpqsblist(deviceParameters));
        return page;
    }

    public List<DeviceParameters> xtpqsblist(DeviceParameters deviceParameters) {
        return dao.xtpqsblist(deviceParameters);
    }

    public List<DeviceParameters> xtpqsbnolist(HashMap qryMap) {
        return dao.xtpqsbnolist(qryMap);
    }

    public Page<DeviceParameters> findStaffMainList(Page<DeviceParameters> page, DeviceParameters deviceParameters) {
        deviceParameters.setPage(page);
        page.setList(dao.findStaffMainList(deviceParameters));
        return page;
    }

    public DeviceParameters getDeviceInfoByDeviceCode(DeviceParameters deviceParameters) {
        return dao.getDeviceInfoByDeviceCode(deviceParameters);
    }

    public List<DeviceParameters> getDeviceInfoByDeviceCodeLike(DeviceParameters deviceParameters){
        return dao.getDeviceInfoByDeviceCodeLike(deviceParameters);
    }

    public List<DeviceParameters> findList(DeviceParameters deviceParameters) {
        return super.findList(deviceParameters);
    }

    public Page<DeviceParameters> findPage(Page<DeviceParameters> page, DeviceParameters deviceParameters) {
        return super.findPage(page, deviceParameters);
    }

    public Page<DeviceParameters> findPageStandby(Page<DeviceParameters> page, DeviceParameters deviceParameters) {
        return super.findPageStandby(page, deviceParameters);
    }

    @Transactional(readOnly = false)
    public void save(DeviceParameters deviceParameters) {
        super.save(deviceParameters);
    }

    @Transactional(readOnly = false)
    public void delete(DeviceParameters deviceParameters) {
        super.delete(deviceParameters);
    }

    public HashMap statByDeviceStatus(HashMap param) {
        return dao.statByDeviceStatus(param);
    }

    public List<HashMap> statByDeviceArea(HashMap param) {
        return dao.statByDeviceArea(param);
    }

    //电梯无有效维保合同情况统计
    public List<HashMap> statByNoMaintenanceContract(HashMap param) {
        return dao.statByNoMaintenanceContract(param);
    }

    //电梯无指定维保人员情况统计
    public List<HashMap> statByNoMaintenanceStaff(HashMap param) {
        return dao.statByNoMaintenanceStaff(param);
    }

    //所有在用电梯统计(首页统计)
    public Integer statByNoMaintenance(String zzjgdm) {
        return dao.statByNoMaintenance(zzjgdm);
    }

    //电梯有效维保合同情况统计(首页统计)
    public Integer statByNoMaintenance2(String zzjgdm) {
        return dao.statByNoMaintenance2(zzjgdm);
    }

    //电梯有维保人员情况统计(首页统计)
    public Integer statByNoMaintenance3(String zzjgdm) {
        return dao.statByNoMaintenance3(zzjgdm);
    }

    //电梯维保存在安全隐患情况统计(首页统计)
    public List<Ecemp> statByNoMaintenance4(String zzjgdm) {
        return dao.statByNoMaintenance4(zzjgdm);
    }

    //电梯故障情况统计(首页统计)
    public List<Ecemp> statByNoMaintenance5(String zzjgdm) {
        return dao.statByNoMaintenance5(zzjgdm);
    }

    //电梯困人情况统计(首页统计)
    public List<Ecemp> statByNoMaintenance6(String zzjgdm) {
        return dao.statByNoMaintenance6(zzjgdm);
    }

    //电梯维保逾期情况统计(首页统计)
    public Ecemp statByNoMaintenance7(String zzjgdm) {
        return dao.statByNoMaintenance7(zzjgdm);
    }

    //电梯运行状态情况统计(首页统计)
    public Ecemp statByNoMaintenance8(String zzjgdm) {
        return dao.statByNoMaintenance8(zzjgdm);
    }

    //电梯维保不合格率统计(首页统计)
    public Ecemp statByNoMaintenance9(String zzjgdm) {
        return dao.statByNoMaintenance9(zzjgdm);
    }

    //电梯维保签到异常情况统计(首页统计)
    public List<Ecemp> statByNoMaintenance10(String zzjgdm) {
        return dao.statByNoMaintenance10(zzjgdm);
    }

    //电梯人员被困救援时间情况统计(首页统计)
    public List<Ecemp> statByNoMaintenance11(String zzjgdm) {
        return dao.statByNoMaintenance11(zzjgdm);
    }

    //电梯维保人员超额维保情况统计
    public List<HashMap> statByExcessMaintenance(HashMap param) {
        return dao.statByExcessMaintenance(param);
    }

    //电梯维保签到异常情况统计
    public List<HashMap> statBySignException(HashMap param) {
        return dao.statBySignException(param);
    }

    //电梯维保逾期情况统计
    public List<HashMap> statByMaintenanceOverdue(HashMap param) {
        return dao.statByMaintenanceOverdue(param);
    }

    //电梯维保不合格情况统计
    public List<HashMap> statByNoPassMaintenanceRecord(HashMap param) {
        return dao.statByNoPassMaintenanceRecord(param);
    }

    //电梯维保项目不合同情况统计
    public List<HashMap> statByNoPassMaintenanceItem(HashMap param) {
        return dao.statByNoPassMaintenanceItem(param);
    }

    //电梯故障报告情况统计
    public List<HashMap> statByFailureReport(HashMap param) {
        return dao.statByFailureReport(param);
    }

    //电梯困人情况统计
    public List<HashMap> statByTrappedPeople(HashMap param) {
        return dao.statByTrappedPeople(param);
    }

    // 按日期显示每天维保电梯数，显示15天(首页统计)
    public List<HashMap> statEveryDayMainDevice(HashMap param) {
        return dao.statEveryDayMainDevice(param);
    }

    // 按日期显示各个维保小组的维保数量
    public List<HashMap> statEveryDayMainDeviceGroup(HashMap param) {
        return dao.statEveryDayMainDeviceGroup(param);
    }

    // 按日期显示各个维保小组的维保设备列表
    public List<DeviceParameters> statEveryDayMainDeviceGroupList(HashMap param) {
        return dao.statEveryDayMainDeviceGroupList(param);
    }

    public String getDeviceEffContractId(String sbzcdm) {
        return dao.getDeviceEffContractId(sbzcdm);
    }

    //	//查询维保单位未分配维保人员的设备
    //	public List<DeviceParameters> getByMaintenanceUnitCode(String wbdwdm){
    //		return dao.getByMaintenanceUnitCode(wbdwdm);
    //	}
}